//
//  WelcomeView.swift
//  新浪微博
//
//  Created by 刘广东 on 16/3/4.
//  Copyright © 2016年 LGD. All rights reserved.
//

import UIKit
import SDWebImage
/// 欢迎界面
class WelcomeView: UIView {
    
    // MARK: - 构造函数
    override init(frame: CGRect) {
        super.init(frame:UIScreen.mainScreen().bounds)
        //        backgroundColor = UIColor.redColor()
        
        //设置界面
        setupUI()
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    //视图销毁后执行的方法
    deinit{
        
        print("\(classForCoder) \(__FUNCTION__)")
    }
    
    // MARK: - 生命周期
    // 添加到父视图
    override func didMoveToSuperview() {
        super.didMoveToSuperview()
    }
    
    // 添加到窗口 - 已经显示
    override func didMoveToWindow() {
        super.didMoveToWindow()
        
        // 更新约束
        avatarView.snp_updateConstraints { (make) -> Void in
            make.centerY.equalTo(self).offset(-100)
        }
        
        // 动画
        // Damping: 弹力 0 ~ 1，越小越弹
        // Velocity: 速度，10 符合重力规则
        UIView.animateWithDuration(
            2.2,
            delay: 0.0,
            usingSpringWithDamping: 1.0,
            initialSpringVelocity: 10,
            options: [],
            animations: { () -> Void in
                
                self.layoutIfNeeded()
            }) { (_) -> Void in
                
                //从父视图中删除
                self.removeFromSuperview()
        }
    }
    
    /// 布局子视图 - 自动布局设置完成后调用，通常此方法使用自动布局开发的时候，不需要重写
    /// 有可能调用非常频繁，一定不要有太耗时的操作！
    override func layoutSubviews() {
        super.layoutSubviews()
        
        print("\(__FUNCTION__)")
    }
    
    // MARK: - 私有控件
    private lazy var avatarView = UIImageView(jm_imageName: "avatar_default_big")
    private lazy var welcomeLable = UILabel(jm_text: "欢迎归来", fontSize: 18)
}
// MARK: - 设置界面
extension WelcomeView {
    
    private func setupUI() {
        //设置背景
        backgroundColor = UIColor(patternImage: UIImage(named: "ad_background")!)
        //添加控件
        addSubview(avatarView)
        addSubview(welcomeLable)
        
        //设置圆角半径
        avatarView.layer.cornerRadius = 45
        avatarView.layer.masksToBounds = true
        
        //自动布局
        avatarView.snp_makeConstraints { (make) -> Void in
            make.centerX.equalTo(self)
            make.centerY.equalTo(self).offset(100)
        }
        welcomeLable.snp_makeConstraints { (make) -> Void in
            make.centerX.equalTo(avatarView)
            make.top.equalTo(avatarView.snp_bottom).offset(10)
        }
        //强行更新约束
        layoutIfNeeded()
        
        //设置头像
        avatarView.Jm_setImageWithURL(UserAccount.sharedUserAccount.avatar_large, placeholderName: "avatar_default_big")
    }
    
}
